package nc.itf.yst;

import nc.ui.querytemplate.querytree.IQueryScheme;
import nc.vo.yst.purrollingplan.AggPurrollingplanHVO;
import nc.vo.yst.sales.AggSalesHVO;
import nc.vo.pub.BusinessException;

public interface IPURROLLINGPLANMaintain {

	public void delete(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] insert(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] update(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] query(IQueryScheme queryScheme)
			throws BusinessException;

	public AggPurrollingplanHVO[] save(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] unsave(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] approve(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;

	public AggPurrollingplanHVO[] unapprove(AggPurrollingplanHVO[] clientFullVOs,
			AggPurrollingplanHVO[] originBills) throws BusinessException;
	
	public String[] queryPKs(IQueryScheme queryScheme)
			throws BusinessException;
	
	public AggPurrollingplanHVO[] queryBillByPK(String[] pks)
			throws BusinessException;
}

